package com.itheima.homework.day08;

import java.util.Random;

/*
在登录注册页面中，除了用户名和密码外，通常也会包含验证码。
验证码是用来区分用户是计算机还是人，防止恶意破解密码、刷票、灌水等行为。请查看Random、
StringBuilder相关API，定义方法，获取一个包含4个字符的验证码，每一位字符是随机选择的字母和数字，可包含a-z,A-Z,0-9。
    例如： 7Kt5
 */
public class Homework9 {
    public static void main(String[] args) {
        System.out.println(getCode());
    }

    /*
        功能: 获取一个包含4个字符的验证码   -- getCode
        条件: 不需要
        结果: 返回一个完整的验证码          -- String
     */
    public static String getCode(){
        //1. 将验证码所有可能取到的字符都放到一个大的字符串中
        String allCode = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";

        // 定义一个StringBuilder
        StringBuilder sb = new StringBuilder();

        for (int i = 1; i<= 4 ; i++) {
            //2. 生成allCode的随机索引
            Random r = new Random();
            int index = r.nextInt(allCode.length());

            //3. 根据随机索引获取对应索引位置的字符
            char ch = allCode.charAt(index);

            //4.将本次生成的随机字符收集到sb中
            sb.append(ch);
        }

        //5. 返回结果
        return sb.toString();
    }
}
